package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

import java.util.Date;
import java.util.List;
@Data
public class Projects extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 项目主键 */
    @Excel(name = "项目主键", cellType = Excel.ColumnType.NUMERIC)
    private Long proId;

    /** 项目工程编号 */
    @Excel(name = "项目工程编号")
    private String proNum;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String proName;

    /** 项目地址 */
    @Excel(name = "项目地址")
    private String proAdd;

    /** 经度 */
    @Excel(name = "经度")
    private String proLongitude;

    /** 经纬度 */
    @Excel(name = "纬度")
    private String proDimensionality;

    /** 开工日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开工日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date proStrdate;

    /** 竣工日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "竣工日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date proEnddate;

    /** 项目可用性 */
    @Excel(name = "项目可用性")
    private String proState;

    /** 项目总投资 */
    @Excel(name = "项目总投资")
    private Double proInvest;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date proTime;

    /** 项目内容规范 */
    @Excel(name = "项目内容规范")
    private String proContent;

    /** 项目存在问题 */
    @Excel(name = "项目存在问题")
    private String proIssue;

    /** 项目性质 */
    @Excel(name = "项目性质")
    private String natName;

    /** 项目进度(百分比) */
    @Excel(name = "项目进度(百分比)")
    private String proPlan;

    /** 所属月份 */
    private String mouMouth;

    /** 所属年份 */
    private String mouYear;

    /** 所属年月 */
    @Excel(name = "所属年月", width = 30, dateFormat = "yyyy-MM")
    @JsonFormat(pattern = "yyyy-MM")
    private String mouYearMouth;

    /** 本年总投资 */
    @Excel(name = "本年总投资")
    private Double mesInvest;

    /** 本年计划投资 */
    @Excel(name = "本年计划投资")
    private Double mesInvestGoal;

    /** 开工至上年末总目标 */
    @Excel(name = "开工至上年末总目标")
    private String mesTotal;

    /** 本年计划目标 */
    @Excel(name = "本年计划目标")
    private String mesTotalGoal;

    /** 当年本月累计计划金额 */
    @Excel(name = "当年本月累计计划金额")
    private Double mouRealInvest;

    /** 当年本月实际目标 */
    @Excel(name = "当年本月实际目标")
    private String mouRealGoal;

    /** 所属领域名称 */
    @Excel(name = "所属领域")
    private String domName;

    /** 所属层面名称 */
    @Excel(name = "所属层面")
    private List<Desk> desName;

    /** 所属层面名称 */
    @Excel(name = "所属层面")
    private String deName;
    /** 逾期状态 */
    @Excel(name = "逾期状态")
    private Integer planState;

    /** 项目联系信息类型 */
    @Excel(name = "项目联系信息类型")
    private String contName;

    /** 项目联系信息名称 */
    @Excel(name = "项目联系信息名称")
    private String conName;

    /** 项目类别 */
    @Excel(name = "项目类别")
    private String typName;

    /** 所属产业 */
    @Excel(name = "所属产业")
    private String indName;

    /** 所属指挥部 */
    @Excel(name = "所属指挥部")
    private String comName;

    /** 所属区域 */
    @Excel(name = "所属区域")
    private String disName;

    private List<Contact> contacts;

    private String userId;

    private int deptId;


    @Override
    public String toString() {
        return "Projects{" +
                "proId=" + proId +
                ", proNum='" + proNum + '\'' +
                ", proName='" + proName + '\'' +
                ", proAdd='" + proAdd + '\'' +
                ", proLongitude='" + proLongitude + '\'' +
                ", proDimensionality='" + proDimensionality + '\'' +
                ", proStrdate=" + proStrdate +
                ", proEnddate=" + proEnddate +
                ", proState='" + proState + '\'' +
                ", proInvest=" + proInvest +
                ", proTime=" + proTime +
                ", proContent='" + proContent + '\'' +
                ", proIssue='" + proIssue + '\'' +
                ", natName='" + natName + '\'' +
                ", proPlan='" + proPlan + '\'' +
                ", mouMouth='" + mouMouth + '\'' +
                ", mouYear='" + mouYear + '\'' +
                ", mouYearMouth='" + mouYearMouth + '\'' +
                ", mesInvest=" + mesInvest +
                ", mesInvestGoal=" + mesInvestGoal +
                ", mesTotal='" + mesTotal + '\'' +
                ", mesTotalGoal='" + mesTotalGoal + '\'' +
                ", mouRealInvest=" + mouRealInvest +
                ", mouRealGoal='" + mouRealGoal + '\'' +
                ", domName='" + domName + '\'' +
                ", desName=" + desName +
                ", deName='" + deName + '\'' +
                ", planState=" + planState +
                ", contName='" + contName + '\'' +
                ", conName='" + conName + '\'' +
                ", typName='" + typName + '\'' +
                ", indName='" + indName + '\'' +
                ", comName='" + comName + '\'' +
                ", disName='" + disName + '\'' +
                ", contacts=" + contacts +
                ", userId='" + userId + '\'' +
                ", deptId=" + deptId +
                '}';
    }

    public Long getProId() {
        return proId;
    }

    public void setProId(Long proId) {
        this.proId = proId;
    }

    public String getProNum() {
        return proNum;
    }

    public void setProNum(String proNum) {
        this.proNum = proNum;
    }

    public String getProName() {
        return proName;
    }

    public void setProName(String proName) {
        this.proName = proName;
    }

    public String getProAdd() {
        return proAdd;
    }

    public void setProAdd(String proAdd) {
        this.proAdd = proAdd;
    }

    public String getProLongitude() {
        return proLongitude;
    }

    public void setProLongitude(String proLongitude) {
        this.proLongitude = proLongitude;
    }

    public String getProDimensionality() {
        return proDimensionality;
    }

    public void setProDimensionality(String proDimensionality) {
        this.proDimensionality = proDimensionality;
    }

    public Date getProStrdate() {
        return proStrdate;
    }

    public void setProStrdate(Date proStrdate) {
        this.proStrdate = proStrdate;
    }

    public Date getProEnddate() {
        return proEnddate;
    }

    public void setProEnddate(Date proEnddate) {
        this.proEnddate = proEnddate;
    }

    public String getProState() {
        return proState;
    }

    public void setProState(String proState) {
        this.proState = proState;
    }

    public Double getProInvest() {
        return proInvest;
    }

    public void setProInvest(Double proInvest) {
        this.proInvest = proInvest;
    }

    public Date getProTime() {
        return proTime;
    }

    public void setProTime(Date proTime) {
        this.proTime = proTime;
    }

    public String getProContent() {
        return proContent;
    }

    public void setProContent(String proContent) {
        this.proContent = proContent;
    }

    public String getProIssue() {
        return proIssue;
    }

    public void setProIssue(String proIssue) {
        this.proIssue = proIssue;
    }

    public String getNatName() {
        return natName;
    }

    public void setNatName(String natName) {
        this.natName = natName;
    }

    public String getProPlan() {
        return proPlan;
    }

    public void setProPlan(String proPlan) {
        this.proPlan = proPlan;
    }

    public String getMouMouth() {
        return mouMouth;
    }

    public void setMouMouth(String mouMouth) {
        this.mouMouth = mouMouth;
    }

    public String getMouYear() {
        return mouYear;
    }

    public void setMouYear(String mouYear) {
        this.mouYear = mouYear;
    }

    public String getMouYearMouth() {
        return mouYearMouth;
    }

    public void setMouYearMouth(String mouYearMouth) {
        this.mouYearMouth = mouYearMouth;
    }

    public Double getMesInvest() {
        return mesInvest;
    }

    public void setMesInvest(Double mesInvest) {
        this.mesInvest = mesInvest;
    }

    public Double getMesInvestGoal() {
        return mesInvestGoal;
    }

    public void setMesInvestGoal(Double mesInvestGoal) {
        this.mesInvestGoal = mesInvestGoal;
    }

    public String getMesTotal() {
        return mesTotal;
    }

    public void setMesTotal(String mesTotal) {
        this.mesTotal = mesTotal;
    }

    public String getMesTotalGoal() {
        return mesTotalGoal;
    }

    public void setMesTotalGoal(String mesTotalGoal) {
        this.mesTotalGoal = mesTotalGoal;
    }

    public Double getMouRealInvest() {
        return mouRealInvest;
    }

    public void setMouRealInvest(Double mouRealInvest) {
        this.mouRealInvest = mouRealInvest;
    }

    public String getMouRealGoal() {
        return mouRealGoal;
    }

    public void setMouRealGoal(String mouRealGoal) {
        this.mouRealGoal = mouRealGoal;
    }

    public String getDomName() {
        return domName;
    }

    public void setDomName(String domName) {
        this.domName = domName;
    }

    public List<Desk> getDesName() {
        return desName;
    }

    public void setDesName(List<Desk> desName) {
        this.desName = desName;
    }

    public String getDeName() {
        return deName;
    }

    public void setDeName(String deName) {
        this.deName = deName;
    }

    public Integer getPlanState() {
        return planState;
    }

    public void setPlanState(Integer planState) {
        this.planState = planState;
    }

    public String getContName() {
        return contName;
    }

    public void setContName(String contName) {
        this.contName = contName;
    }

    public String getConName() {
        return conName;
    }

    public void setConName(String conName) {
        this.conName = conName;
    }

    public String getTypName() {
        return typName;
    }

    public void setTypName(String typName) {
        this.typName = typName;
    }

    public String getIndName() {
        return indName;
    }

    public void setIndName(String indName) {
        this.indName = indName;
    }

    public String getComName() {
        return comName;
    }

    public void setComName(String comName) {
        this.comName = comName;
    }

    public String getDisName() {
        return disName;
    }

    public void setDisName(String disName) {
        this.disName = disName;
    }

    public List<Contact> getContacts() {
        return contacts;
    }

    public void setContacts(List<Contact> contacts) {
        this.contacts = contacts;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public int getDeptId() {
        return deptId;
    }

    public void setDeptId(int deptId) {
        this.deptId = deptId;
    }
}
